package destacamento;

import java.util.LinkedList;
import obligatorio.Central9111;
import obligatorio.Emergencia1;
import obligatorio.Metodos1;

public class Ambulancia {
	int tamanioBuffer = 3;
	Boolean estado;
	public LinkedList<Emergencia1> buffer = new LinkedList<Emergencia1>();
	private int ultimaHora;
	
	public int getUltimaHora(){
		return this.ultimaHora;
	}
	
	public Ambulancia(){
		ultimaHora=0;
	}
	public LinkedList<Emergencia1> getBuffer(){
		return this.buffer;
	}
	public boolean bufferLleno(){
		if (this.buffer.size() > tamanioBuffer){
			estado = true;
		} else {
			estado = false;
		}
		return this.estado;
	}
		
	public Emergencia1 EmergenciaFinalizada(){
		Emergencia1 temp;
		int mina=(int)(Math.random()*(45-15))+15;
		for (int j = 0; j < buffer.size(); j++){
			for (int i=10; i<mina; i++) {
				if(getRandomBoolean()){ // Desatiendo la emergencia
					buffer.get(j).setHb(mina+buffer.get(j).getHe());
					if(ultimaHora<buffer.get(j).getHb()){
						ultimaHora=buffer.get(j).getHb();
					}
					temp=buffer.get(j);
					buffer.remove(buffer.get(j));
					return temp;
				}
			}
			
		}
		return null;
	}
	public static boolean getRandomBoolean() {
	    return Math.random() < 0.5;
	}
	
	public void darDeBaja(Emergencia1 unaEmergencia){
		Metodos1 pr = new Metodos1();
		System.out.println("_______EMERGENCIA DERIVADA_______");
		pr.imprimirEmergencia(unaEmergencia);
		System.out.println("______________________________");
		unaEmergencia=EmergenciaFinalizada();
	}
}
